<?php
/* *
 * 功能：支付宝页面跳转同步通知页面
 * 版本：3.3
 * 日期：2012-07-23
 * 说明：
 * 以下代码只是为了方便商户测试而提供的样例代码，商户可以根据自己网站的需要，按照技术文档编写,并非一定要使用该代码。
 * 该代码仅供学习和研究支付宝接口使用，只是提供一个参考。

 *************************页面功能说明*************************
 * 该页面可在本机电脑测试
 * 可放入HTML等美化页面的代码、商户业务逻辑程序代码
 * 该页面可以使用PHP开发工具调试，也可以使用写文本函数logResult，该函数已被默认关闭，见alipay_notify_class.php中的函数verifyReturn
 */

require_once("alipay.config.php");
require_once("lib/alipay_notify.class.php");
?>
<!DOCTYPE HTML>
<html>
    <head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<?php
//计算得出通知验证结果
$alipayNotify = new AlipayNotify($alipay_config);
$verify_result = $alipayNotify->verifyReturn();
$verify_result=true;


/*生成订单前验证购买数量和价钱*/
$conf = require_once ("../Home/Home/Conf/config.php");

$con = mysql_connect($conf['DB_HOST'], $conf['DB_USER'], $conf['DB_PWD']);
mysql_select_db($conf['DB_NAME'], $con);
mysql_query("SET NAMES UTF8");
$out_trade_no = $_GET['out_trade_no'];

if (!$con)
    {
            echo ('Could not connect: ' . mysql_error());
   }
$sql='select item_id,item_count from `yjxtj_purchase` where sn='.$out_trade_no;
$ret = mysql_query($sql);
$row = mysql_fetch_array($ret);
$item_id=$row['item_id'];
$item_count = $row['item_count'];

//获取套餐单价
  // $url = $this->getBaseUrl() . "s/infoPhysicalExamination/getInfoPhysicalExaminationList";
  $url="http://localhost/yjxtjapi/h5.php?c=serviceapi&a=getInfoPhysicalExaminationList";
        $data = array(
            'packageId' => $item_id,
            'pageIndex'=>1,
            "pageSize"=>1,
        );
       // var_dump($data);exit();
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        $return = curl_exec($ch);
       // var_dump($return);exit();
        curl_close($ch);

        $getinfo = get_object_vars(json_decode($return));

        $jsonResult =json_decode($getinfo['jsonResult']);
        $dataList=$jsonResult->dataList;
        $datainfo=$dataList[0];
        $salePrice=$datainfo->salePrice;
        // var_dump($salePrice);exit();
        // var_dump($_GET)
        // var_dump($_GET['total_fee']);exit();
        $verify_purchase=false;
        if($salePrice*$item_count==$_GET['total_fee']){
              $verify_purchase=true;
        }


/*验证体检套餐成功*/
if($verify_result && $verify_purchase) {//验证成功
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	//请在这里加上商户的业务逻辑程序代码

	//——请根据您的业务逻辑来编写程序（以下代码仅作参考）——
    //获取支付宝的通知返回参数，可参考技术文档中页面跳转同步通知参数列表

	//商户订单号

	$out_trade_no = $_GET['out_trade_no'];

	//支付宝交易号

	$trade_no = $_GET['trade_no'];

	//交易状态
	$trade_status = $_GET['trade_status'];


    if($_GET['trade_status'] == 'TRADE_FINISHED' || $_GET['trade_status'] == 'TRADE_SUCCESS') {
		//判断该笔订单是否在商户网站中已经做过处理
			//如果没有做过处理，根据订单号（out_trade_no）在商户网站的订单系统中查到该笔订单的详细，并执行商户的业务程序
			//如果有做过处理，不执行商户的业务程序

        $con = mysql_connect($conf['DB_HOST'], $conf['DB_USER'], $conf['DB_PWD']);


        if (!$con)
        {
            //logResult("conn fail");
            echo ('Could not connect: ' . mysql_error());
        }

        mysql_select_db($conf['DB_NAME'], $con);

        mysql_query("SET NAMES UTF8");

        $getstatus = mysql_query("select * from yjxtj_purchase where sn='" . $out_trade_no . "'");

        $row = mysql_fetch_array($getstatus);
        // var_dump($row);exit();

        if ($row['pay_status'] != '1')
        {
            $update = mysql_query("update yjxtj_purchase set pay_status=1 where sn='" . $out_trade_no . "'");
            $getinfo = mysql_query("select * from yjxtj_purchase where sn='" . $out_trade_no . "'");


            $row = mysql_fetch_array($getinfo);

            $count = $row['item_count'];
            $item_id = $row['item_id'];
            $uid = $row['uid'];
            $add_date = date('Y-m-d H:i:s', time());
            $appointment_status = "1";



            for ($i = 0; $i < $count; $i++)
            {

                $sql = "insert into yjxtj_appointment set uid='" . $uid .
                    "',item_id='" . $item_id .
                    "',appointment_status='" . $appointment_status .
                    "',add_date='" . $add_date .
                    "',u_name=''" .
                    ",u_telephone=''" .
                    ",u_card=''" .
                    ",center_id='0'" .
                    ",appointment_date='0000-00-00 00:00:00'" .
                    ",refuse_reason=''" .
                    ",update_date='0000-00-00 00:00:00'" .
                    ",appointment_account=''" .
                    ",appointment_password=''" .
                    ",account_status='0'" .
                    ",isupload='0'";
//                     logResult($sql);
                $insert = mysql_query($sql);
                // var_dump($insert);exit();
//             logResult(mysql_error());
//             logResult($insert);
            }
            mysql_close($con);
        }
    }
    else {
      echo "trade_status=".$_GET['trade_status'];
    }


    //同步用户订单数据数据到平台
    $url="http://localhost/yjxtjapi/h5.php/Home/H5api/purchaseInfoSync";
    $data=array(
        'out_trade_no'=>$out_trade_no
    );
    // var_dump($data);exit();
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    $return = curl_exec($ch);
    curl_close($ch);

    $getinfo = get_object_vars(json_decode($return));
    $jsonResult =get_object_vars(json_decode($getinfo['jsonResult']));
    $resultCode=$jsonResult['resultCode'];
// print_r($conf);exit();
    if($resultCode==0){
        $url ="/yjxtj/h5.php?m=app&a=getPurchase";
        echo "<script language='javascript' type='text/javascript'>";
        echo "window.location.href='$url'";
        echo "</script>";
//        echo "验证成功<br/>";
    }else{
        echo "验证失败<br/>";
    }

	//——请根据您的业务逻辑来编写程序（以上代码仅作参考）——

	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}
else {
    //验证失败
    //如要调试，请看alipay_notify.php页面的verifyReturn函数
    echo "验证失败";
}
?>
        <title>支付宝手机网站支付接口</title>
	</head>
    <body>
    </body>
</html>
